package nix.servlet;

import java.io.IOException;
import java.io.InputStream;
import java.util.Set;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.IOUtils;

public class GServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 获取域属性
		ServletContext application = this.getServletContext();
		System.out.println(application.getAttribute("aaa"));

		// 获取公共初始化参数
		System.out.println(application.getInitParameter("bbb"));

		// 获取资源路径
		System.out.println(this.getServletContext().getRealPath("/index.jsp"));

		// 获取资源输入流
		InputStream input = this.getServletContext().getResourceAsStream("/index.jsp");

		// 获取当前目录下所有资源的路径
		Set<String> set = this.getServletContext().getResourcePaths("/WEB-INF");
		System.out.println(set);

		// 获取类路径下的资源
		ClassLoader cl = this.getClass().getClassLoader();
		// 相对/classes目录
		InputStream input2 = cl.getResourceAsStream("nix/servlet/a.txt");
		// 使用commons-io-1.4.jar读取输入流中的内容为字符串
		String str = IOUtils.toString(input2);
		System.out.println(str);

		// 获取类路径下的资源
		Class c = this.getClass();
		// 相对.class文件所在目录
		InputStream input3 = c.getResourceAsStream("a.txt");
		// 使用commons-io-1.4.jar读取输入流中的内容为字符串
		String str2 = IOUtils.toString(input3);
		System.out.println(str2);

		// 相对/classes目录
		InputStream input4 = c.getResourceAsStream("/nix/servlet/a.txt");
		// 使用commons-io-1.4.jar读取输入流中的内容为字符串
		String str3 = IOUtils.toString(input4);
		System.out.println(str3);
				
	}

}
